<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Function对象</title>
</head>
<body>
    <script>
       // JAVA里，函数和方法是对象的一部分
       // 但在JS中，方法或者函数就是一个对象。
       // 3种创建方式
       //  方式1不推荐,不方便不符合，尤其方法体不好写
       //  var f1 = new Function('a','b','alert(a+b)');
       //  f1(3,4);

       //  方式2
        function f(a,b, c) {
            // alert(a + b)
            document.write(a+b+'---属性-length----'+f.length);
        }
        // 调用
        f(5,5);

        var fn = function(a , b){
            document.write("<br>"+(a+b)+'---属性-length----'+fn.length);
        }
        fn(4,9)

        // 同名方法会覆盖4. 在方法声明中有一个隐藏的内置对象（数组），arguments,封装所有的实际参数，3中多的参数被内置对象接收了。
       // 求两个数的和，不用写数据类型
       function add(a,b) {
            return a + b;
        }
        var sum = add(6,24);
        document.write('<br>'+'求两个数的和--------'+sum);

        // 求任意个数的和
        function add1() {
            document.write('<br>'+'内置对象（数组），arguments-----第一个参数---'+arguments[0]);
            var sum = 0;
            for (let i = 0; i < arguments.length; i++) {
                sum += arguments[i];
            }
            return sum;
        }
        var onemore = add1(3,4,5,6);
        document.write('<br>'+'任意个数的和==='+onemore)






    </script>
</body>
</html>